#ifndef _WINDOW_H_
#define _WINDOW_H_

#include <functional>
#include <memory>
#include <SECore/Event.h>


namespace SEngine
{
    class Window
    {
    public:
        using EventHandler = std::function<void(EventPtr)>;
    public:
        virtual void PollEvent(EventHandler && fn) = 0;
        virtual void SwapBuffer() = 0;
        virtual std::pair<int, int> GetWindowSize() = 0; 
    };
} // namespace SEngine


#endif